package com.yungu.swift.constants;

/**
 * @author Zerrion
 * @version 1.0
 * @description
 * @date 2018/9/27 11:33
 */
public class FinanceConstant {
    /**
     * 订单流水司机抽成状态 0 司机抽成冻结操作 1司机抽成冻结转提现操作
     */
    public final static Integer FROZEN_BALANCE_STATUS = 0;
    public final static Integer THAW_BALANCE_STATUS = 1;
    /**
     * 财务科目类型 10 充值 ：1001 微信充值 1002 支付宝充值 1003 赠送充值 1004 乘客充值实际到账
     */
    public final static Integer TENPAY_RECHARGE = 1001;
    public final static Integer ALIPAY_RECHARGE = 1002;
    public final static Integer PRESENT_RECHARGE = 1003;
    public final static Integer RECHARGE_TO_PASSENGER_ACCOUNT = 1004;

    /**
     * 财务科目类型 20 支付 ：乘客支付 2001 、司机代付 2002 、优惠券抵扣 2003
     * <p>
     * 乘客支付：乘客充值余额支付 20010101 、乘客赠送余额支付 20010102 、乘客微信支付 200102、乘客支付宝支付 200103
     * 司机代付：司机余额支付 200201 、司机微信支付 200202、司机支付宝支付 200203
     * 优惠券抵扣：优惠券抵扣 2003、优惠券全额抵扣 200301、优惠券部分抵扣 200302
     */
    public final static Integer PASSENGER_RECHARGE_BALANCE_PAY = 20010101;
    public final static Integer PASSENGER_PRESENT_BALANCE_PAY = 20010102;
    public final static Integer PASSENGER_TEN_PAY = 200102;
    public final static Integer PASSENGER_ALI_PAY = 200103;

    public final static Integer DRIVER_BALANCE_PAY = 200201;
    public final static Integer DRIVER_TEN_PAY = 200202;
    public final static Integer DRIVER_ALI_PAY = 200203;

    public final static Integer MARKET_PAY = 2003;
    public final static Integer MARKET_FULL_PAY = 200301;
    public final static Integer MARKET_PART_PAY = 200302;

    /**
     * 财务科目类型 30 活动奖励
     * 司机邀请司机奖励300101（30010101 司机邀请司机邀请者奖励、30010102 司机邀请司机被邀请者奖励）
     * 司机邀请乘客奖励300102（30010201 司机邀请乘客邀请者奖励、30010202 司机邀请乘客被邀请者奖励）
     * 乘客邀请乘客奖励3002(乘客邀请只涉及优惠券暂时不做财务流水)
     */
    public final static Integer DRIVER_INVITE_DRIVER_INVITE_REWARD = 30010101;
    public final static Integer DRIVER_INVITE_DRIVER_INVITED_REWARD = 30010102;
    public final static Integer DRIVER_INVITE_PASSENGER_INVITE_REWARD = 30010201;
    public final static Integer DRIVER_INVITE_PASSENGER_INVITED_REWARD = 30010202;

    /**
     * 财务科目类型 40 提现：提现到银行卡4001 提现到微信4002 提现到支付宝4003 提现手续费4004 提现到银行卡退回4005 提现到微信退回4006 提现到支付宝退回4007 提现手续费退回4008
     */
    public final static Integer WITHDRAWAL_TO_BANK_CARD = 4001;
    public final static Integer WITHDRAWAL_TO_TEN = 4002;
    public final static Integer WITHDRAWAL_TO_ALI = 4003;
    public final static Integer WITHDRAWAL_POUNDAGE = 4004;
    public final static Integer WITHDRAWAL_BACK_BANK_CARD = 4005;
    public final static Integer WITHDRAWAL_BACK_TEN = 4006;
    public final static Integer WITHDRAWAL_BACK_ALI = 4007;
    public final static Integer WITHDRAWAL_BACK_POUNDAGE = 4008;
    /**
     * 财务科目类型 50 分润抽成：平台抽成5001 代理抽成5002 企业抽成5003 司机抽成5004 司机附加费
     */
    public final static Integer PLATFORM_EXTRACT = 5001;
    public final static Integer AGENT_EXTRACT = 5002;
    public final static Integer COMPANY_EXTRACT = 5003;
    public final static Integer DRIVER_EXTRACT = 5004;


    /**
     * 财务科目类型 70 退款：
     * <p>
     * 订单退款 7001（订单全额退款700101、订单部分退款700102、优惠券退款700103）
     * 充值退款 7002（充值全额退款700201）
     */
    //平台分润退款
    public final static Integer PLATFORM_EXTRACT_REFUND = 70010102;
    //代理分润退款
    public final static Integer AGENT_EXTRACT_REFUND = 70010103;
    //企业分润退款
    public final static Integer COMPANY_EXTRACT_REFUND = 70010104;
    //司机分润退款
    public final static Integer DRIVER_EXTRACT_REFUND = 70010105;
    //平台退款给乘客充值余额
    public final static Integer PLATFORM_REFUND_TO_PASSENGER_RECHARGE = 700101061;
    //平台退款给乘客赠送余额
    public final static Integer PLATFORM_REFUND_TO_PASSENGER_PRESENT = 700101062;
    //平台退款到乘客微信账户
    public final static Integer PLATFORM_REFUND_TO_PASSENGER_TENPAY = 700101063;
    //平台退款到乘客支付宝账户
    public final static Integer PLATFORM_REFUND_TO_PASSENGER_ALIPAY = 700101064;

    /*订单部分退款*/

    //平台分润部分退款
    public final static Integer PLATFORM_PART_EXTRACT_REFUND = 70010202;
    //代理分润部分退款
    public final static Integer AGENT_PART_EXTRACT_REFUND = 70010203;
    //企业分润部分退款
    public final static Integer COMPANY_PART_EXTRACT_REFUND = 70010204;
    //司机分润部分退款
    public final static Integer DRIVER_PART_EXTRACT_REFUND = 70010205;
    //平台部分退款给乘客充值余额
    public final static Integer PLATFORM_PART_REFUND_TO_PASSENGER_RECHARGE = 700102061;
    //平台部分退款给乘客赠送余额
    public final static Integer PLATFORM_PART_REFUND_TO_PASSENGER_PRESENT = 700102062;
    //平台部分退款到乘客微信账户
    public final static Integer PLATFORM_PART_REFUND_TO_PASSENGER_TENPAY = 700102063;
    //平台部分退款到乘客支付宝账户
    public final static Integer PLATFORM_PART_REFUND_TO_PASSENGER_ALIPAY = 700102064;

    /*优惠券退款*/
    //优惠券全额退款
    public final static Integer MARKET_REFUND = 70010301;
    //优惠券部分退款
    public final static Integer MARKET_PART_REFUND = 70010302;

    /*司机附加费退款*/
    public final static Integer ADD_FEE_REFUND = 70010401;
    /*司机附加费部分退款*/
    public final static Integer ADD_FEE_PART_REFUND = 70010402;

    /*充值退款*/
    //充值本金退款
    public final static Integer RECHARGE_PRINCIPAL_REFUND = 70020101;
    //充值赠送退款
    public final static Integer RECHARGE_PRESENT_REFUND = 70020102;


    /**
     * 财务科目类型 80 奖惩 ：
     * 司机奖惩8001（司机奖励800101 司机惩罚800102）
     * 乘客补偿8002（乘客补偿800201）
     * 后台司机调价8003（可提现余额800301（后台增加司机提现余额80030101、后台减少司机提现余额80030102）
     * -----------------冻结余额800302（后台增加司机冻结余额80030201、后台减少司机冻结余额80030202））
     * 后台乘客调价8004（实充余额800401（后台增加乘客充值余额80040101、后台减少乘客充值余额80040102）
     * ------------赠送余额800402（后台增加乘客赠送余额80040201、后台减少乘客赠送余额80040202））
     */
    public final static Integer DRIVER_REWARD = 800101;
    public final static Integer DRIVER_PUNISHMENT = 800102;
    public final static Integer PASSENGER_COMPENSATION = 800201;
    public final static Integer ADD_DRIVER_CAN_FROWARD_BALANCE = 80030101;
    public final static Integer REDUCE_DRIVER_CAN_FROWARD_BALANCE = 80030102;
    public final static Integer ADD_DRIVER_FROZEN_BALANCE = 80030201;
    public final static Integer REDUCE_DRIVER_FROZEN_BALANCE = 80030202;
    public final static Integer ADD_PASSENGER_RECHARGE_BALANCE = 80040101;
    public final static Integer REDUCE_PASSENGER_RECHARGE_BALANCE = 80040102;
    public final static Integer ADD_PASSENGER_PRESENT_BALANCE = 80040201;
    public final static Integer REDUCE_PASSENGER_PRESENT_BALANCE = 80040202;

    /**
     * 保险费
     * 9001：司机附加费
     */
    public final static Integer DRIVER_ADDITIONAL_FEE = 9001;
}
